package com.example.ad.sdk.domain.functions

/**
 * 定义一个无参数、无返回值的函数接口。
 * 该接口通常用于表示不需要参数且不返回任何结果的操作。
 */
interface Action0 {
    /**
     * 执行无参数的操作。
     */
    fun call()
}

/**
 * 定义一个接受一个参数、无返回值的函数接口。
 * 该接口通常用于表示需要单个参数且不返回任何结果的操作。
 *
 * @param P 表示操作接受的参数类型。
 */
interface Action1<P> {
    /**
     * 执行接受一个参数的操作。
     *
     * @param p 传递给操作的参数。
     */
    fun call(p: P)
}

/**
 * 定义一个接受两个参数、无返回值的函数接口。
 * 该接口通常用于表示需要两个参数且不返回任何结果的操作。
 *
 * @param P1 表示操作接受的第一个参数类型。
 * @param P2 表示操作接受的第二个参数类型。
 */
interface Action2<P1, P2> {
    /**
     * 执行接受两个参数的操作。
     *
     * @param p1 传递给操作的第一个参数。
     * @param p2 传递给操作的第二个参数。
     */
    fun call(p1: P1, p2: P2)
}


